#!/usr/bin/js

load('Partido.js');

var equipos= new Array('Madrid', 'Barça', 'Atleti', 'Geta', 'Betis', 'Depor', 'Sevilla', 'Graná');

// Se define y se inicializa la matriz de partidos ganados, perdidos y empatados, que almacena estos valores en 3 columnas
// para cada equipo
var ganadosPerdidosEmpatados = new Array;

for ( var i in equipos ) {
	ganadosPerdidosEmpatados[equipos[i]] = new Array ('Ganados','Perdidos','Empatados');
  ganadosPerdidosEmpatados[equipos[i]]['Ganados'] = 0;
	ganadosPerdidosEmpatados[equipos[i]]['Perdidos'] = 0;
	ganadosPerdidosEmpatados[equipos[i]]['Empatados'] = 0;
}


function jornada( estosEquipos ) {

  var equiposAqui = new Array;
  equiposAqui = equiposAqui.concat(estosEquipos);
  var midsize = equiposAqui.length/2;
  var quiniela = new Array( midsize );
  var unox2 = new Array( '1','x','2');
  for ( var i=0; i < midsize ; i++ ) {
    var equipo1 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()) , 1);
    var equipo2 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()), 1);
    quiniela[i] = new Partido( equipo1, equipo2 );
    quiniela[i].setResultado( unox2[Math.floor( 3*Math.random()) ]);
  }
  return quiniela;
}

//Se suma una victoria, un empate o una derrota a los dos equipos del partido jugado
function sumarVictoriaDerrotaEmpate( equipo1, equipo2, resultado ) {
	switch (resultado) {
    case '1':
      ganadosPerdidosEmpatados[equipo1]['Ganados']+=1;
			ganadosPerdidosEmpatados[equipo2]['Perdidos']+=1;
      break;
    case 'x':
      ganadosPerdidosEmpatados[equipo1]['Empatados']+=1;
			ganadosPerdidosEmpatados[equipo2]['Empatados']+=1;
      break;
    case '2':
      ganadosPerdidosEmpatados[equipo1]['Perdidos']+=1;
			ganadosPerdidosEmpatados[equipo2]['Ganados']+=1;
			break;
    }
}


var quinielas = new Array;
for ( var i = 0; i < 10; i ++ ) {
  quinielas[i] = jornada( equipos ); 
}

var resultados= new Array;
for ( var i in equipos ) {
  resultados[equipos[i]]=0;
 }
for ( var i = 0; i < quinielas.length; i ++ ) {
  for ( var j = 0;j < quinielas[i].length; j ++ ) {
    var local = quinielas[i][j].local;
    var visitante = quinielas[i][j].visitante;
    var resultado = quinielas[i][j].resultado;
    if ( resultado == 1 ) {
      resultados[local]+=3;
    } else if ( resultado == 'x' ) {
      resultados[local]+=1;
      resultados[visitante]+=1;
    } else { // resultado == 2
      resultados[visitante]+=3
    }
		sumarVictoriaDerrotaEmpate( local, visitante, resultado);
  }
 }

// Se imprimen los partidos ganados, empatados y perdidos de cada equipo
for ( var i in resultados ) {
  print( i + ": " + resultados[i]);
 }
print( '---- Partidos ganados ----');
for (var i in equipos ) {
	print( equipos[i] + ': ' + ganadosPerdidosEmpatados[equipos[i]]['Ganados']);
}
print( '---- Partidos empatados ----');
for (var i in equipos ) {
	print( equipos[i] + ': ' + ganadosPerdidosEmpatados[equipos[i]]['Empatados']);
}
print( '---- Partidos perdidos ----');
for (var i in equipos ) {
	print( equipos[i] + ': ' + ganadosPerdidosEmpatados[equipos[i]]['Perdidos']);
}

